Many blocks or circuit parts of electronic circuits, for example analog blocks or circuits, require parameters set appropriately during operation, in order to work correctly. By way of example, analog-to-digital converters (A/D converters) or digital-to-analog converters (D/A converters) may require parameters for compensating for an offset, for setting a desired gain or for achieving a desired linearity. Such parameters can be obtained by means of a calibration, for example. Afterward, said parameters can be stored in various types of memories, in particular nonvolatile memories such as flash memories, fusible memories, electrically programmable read-only memories (EPROMs) or other nonvolatile memories. Sometimes said parameters can also be transferred from nonvolatile memories into volatile memories such as random access memories (RAMS) or registers, in order to facilitate operation.
In particular, in some applications such parameters are used for the digital correction, for example completely digital correction, of components. In particular, analog circuits may have certain tolerances, for example, which can then be corrected by digital calculations and techniques, for example. In the case of such a digital correction, the analog components are accepted for example in the manner as they are produced, but information in the circuit is modified in a digital part, for example in order to correct errors. By contrast, an analog correction would typically comprise modifying analog components, which is complex.
By way of example, an analog-to-digital converter having an analog implementation having high tolerances, for example, would initially supply incorrect digital output codes, but a digital correction could be used to modify said codes, such that the overall system comprising analog-to-digital converter and digital correction works correctly. By way of example, a look-up table can be used which translates the “incorrect” codes initially output by the analog-to-digital converter into the “correct” codes. Such a look-up table, in which a corrected code is assigned for example to each output code of the analog-to-digital converter, then constitutes an example of stored parameters. Similar techniques can be used for other components, for example digital-to-analog converters or digitally controlled oscillators. In the case of other devices, parameters can be used differently, for example in the context of calculations, in order to correct results or else in order to set and/or adapt the devices.
Such parameters are conventionally stored as digital values. Certain error events can corrupt or alter such stored data, however, for example α-particles that impinge on a memory cell, or else power failures or power interruptions. If such an error is not detected, the behavior of the respective device can change significantly, since values then altered, for example, after an event, for example more or less random values, are stored as parameters. This can lead to malfunctions. Even if the error is detected, this often leads at least to a brief failure of the device until, for example, a calibration has been repeated or the parameters have been corrected in some other way.
Therefore, it is an object of the present application to provide possibilities for reducing a susceptibility to errors with regard to devices that use stored parameters, or at least to reduce errors that may arise as a result of stored parameters being corrupted.